package ar.uba.fi.tecnicas.juego;

import org.w3c.dom.Document;

import ar.uba.fi.tecnicas.xml.XmlLoader;

public class ConfiguracionJuego 
{
	// Constantes
	private final int MINUTOS_POR_DIA = 24 * 60;
	private final static String archivoConfiguracion = "configuracion.xml";
	
	// Singleton
	public static final ConfiguracionJuego instancia = new ConfiguracionJuego();

	// Valores de configuraicion
	private double capitalInicial = 200000;
	private double capitalFinal = 1000000;
	
	private double porcentajeVentaTerreno = 0.8;
	private double porcentajeVentaMaquina = 0.5;
	
	private double precioMetroCinta = 10;	
	private long millisPorDia = 5000; // 5 segs	

	private XmlLoader leerXml;
	
	 private ConfiguracionJuego()
	{
		this.leerXml = new XmlLoader(ConfiguracionJuego.archivoConfiguracion);
		this.leerXml.parsearArchivoXml();
	}
	
	public Document obtenerXml()
	{
		return this.leerXml.obtenerXml();
	}
	
	public double getPrecioMetroCinta()
	{
		return this.precioMetroCinta;
	}
	
	// Cantidad de milisegundos por dia del juego
	public long getMillisPorDia()
	{
		return this.millisPorDia;
	}

	// Cantidad de milisegundos entre ticks del juego
	public long getMillisPorTick() 
	{
		return this.millisPorDia / MINUTOS_POR_DIA;
	}

	// Capital con el que el jugador gana 
	public double getCapitalFinal() 
	{
		return this.capitalFinal;
	}
	
	// Capital con el que se inicia el juego
	public double getCapitalInicial() 
	{
		return this.capitalInicial;
	}

	public double getPorcentajeVentaTerreno() 
	{
		return this.porcentajeVentaTerreno;
	}
	
	public double getPorcentajeVentaMaquina() 
	{
		return this.porcentajeVentaMaquina;
	}
}
